Methods to generate a wiring schema

ABSTRACT

Apparatus and associated methods relate to generating a wiring schema with more than one safety device sharing at least one test signal through one or more external terminal blocks when the number of terminals required by safety devices exceeds the number of available terminals of a safety controller. In an illustrative example, the method may include determining a total number of terminals A of safety devices to be connected to a safety evaluation device having a number of terminals B. If A is greater than B, the method may then include generating a wiring schema that one or more external terminal blocks may show indicia of electrical connections between an identified set of safety devices and a shared terminal of the safety evaluation device associated with that set. By using the method, the number of devices that can be connected to the safety evaluation device may be expanded.

TECHNICAL FIELD

Various embodiments relate generally to generating a test signal wiringschema for connections between safety devices and a safety evaluationdevice.

BACKGROUND

A typical machine safeguarding system may include safety devices (e.g.,light curtains, two-hand controls, safety mats, safety laser scanners)connected to a safety evaluation device to protect users from hazardsidentified on machines. A safety evaluation device may be used duringoperation of potentially dangerous machines. A safety evaluation devicemay receive inputs from safety devices. A safety evaluation device mayhave self-monitored safety outputs. Safety outputs may be used to removepower from machines in a hazardous area. A safety evaluation device maymonitor for faults on both the inputs and outputs. Proper use of safetyevaluation devices may increase personnel safety when operating apotentially dangerous machine.

In a machine safeguarding system, a safety evaluation device may includea safety relay. Some systems may use two safety relays, where one safetyrelay may be linked to one safety device (e.g., an emergency stopbutton), and the other safety relay may be linked to another safetydevice (e.g., a safety light curtain). The safety relays may beconfigured to halt hazardous motion, for example, in response to a beambreak at the light curtain. In various machine safeguarding systems, asafety evaluation device may include a safety programmable logiccontroller (PLC) or a safety controller.

Some safety controllers may be configurable. For example, a first usermay need a safety controller configured only to monitor and generatealerts according to a predetermined set of instructions. A second usermay need the safety controller configured to monitor and respond, inaccordance with another predetermined set of instructions, if a fault isdetected. As such, configurable safety controllers may offer users awide variety of configurable options that a user may configure accordingto the user's needs.

SUMMARY

Apparatus and associated methods relate to generating a wiring schemawith more than one safety device sharing at least a test signal throughone or more external terminal blocks when the number of terminalsrequired by the safety devices exceeds the number of available terminalsof a safety controller. In an illustrative example, the method mayinclude determining the total number of terminals A of safety devices tobe connected to the safety controller having a number of terminals B. IfA is greater than B, the method may then include generating a wiringschema that one or more external terminal blocks may show electricalconnections between an identified set of safety devices and a sharedterminal of the safety evaluation device associated with that set. Byusing the method, the number of devices that can be connected to thesafety evaluation device may be expanded.

Various embodiments may achieve one or more advantages. For example,some embodiments (e.g., applying automatic terminal optimization (ATO)feature with external terminal blocks) may generate a wiring schema thatenables terminals of a safety controller to be shared by differentsafety devices to save terminals of the safety controller. In someembodiments, a testing circuit may be cost-effective as inventories andprices of devices may be considered during the design of wiring schema.In some embodiments, the safety evaluation device may be a combinationof two safety relays and a safety controller to provide a cost-effectivereplacement for two safety relay modules. The safety evaluation devicemay be designed to have two independent safe outputs that are capable ofhigh current and/or a wide range of voltage. Some embodiments mayprovide an easy-to-use, configurable, and expandable safety evaluationdevice designed to monitor multiple safety and non-safety input devices,providing safe stop and start functions for machines with, for example,hazardous motion. The safety evaluation device may replace multiplesafety relay modules in applications that include such safety inputdevices as, for example, E-stop buttons, interlocking gate switches,safety light curtains, two-hand controls, and safety mats. In someembodiments, the safety evaluation devices may also be used in place oflarger and more complex safety programmable logic controllers (PLCs)with the use of additional terminals and/or output expansion modules. Insome embodiments, the safety evaluation device may have an intuitiveprogramming environment to provide flexible and easy-to-use functionsfor dynamic field installation of safety devices to upgrade an existingmachine safeguarding system.

In some embodiments, the schema could be schematic representations ofefficient sharing of terminals according to predetermined test signalcriteria, for example. Some embodiments may permit automaticallysuggesting wiring schema based on available terminal block inventory,for example, and test signal compatibility. Some embodiments mayautomatically adjust or tailor test signal (e.g., amplitude, phase,frequency, delay) to satisfy overlapping test signal specificationranges.

The details of various embodiments are set forth in the accompanyingdrawings and the description below. Other features and advantages willbe apparent from the description and drawings, and from the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 depicts an exemplary wiring schema design system employed in anillustrative use-case scenario.

FIG. 2 depicts a block diagram of an exemplary architecture of thewiring schema design system.

FIG. 3 depicts an exemplary wiring schema generated by the wiring schemadesign system.

FIG. 4 depicts a flowchart to illustrate an exemplary method to generatethe wiring schema.

FIG. 5 depicts a flowchart to illustrate another exemplary method togenerate the wiring schema.

Like reference symbols in the various drawings indicate like elements.

DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS

To aid understanding, this document is organized as follows. First, anexemplary design environment used to design a configuration for anillustrated scenario is introduced with reference to FIG. 1. Second,with reference to FIG. 2 an exemplary architecture of a wiring schemadesign system used to generate a wiring schema that enables safetydevices to share of one or more terminals of safety controller isdiscussed. Then, with reference to FIG. 3, an exemplary wiring schemaindicating exemplary connections between the safety devices and thesafety controller are discussed. Finally, with reference to FIG. 4-5,exemplary methods to generate a wiring schema are discussed. Variousembodiments may advantageously expand the number of safety devices thatcan be connected to the safety controller.

FIG. 1 depicts an exemplary wiring schema design system employed in anillustrative use-case scenario. In a depicted scenario 100, a roboticpalletizer is safeguarded by safety devices (e.g., safety lightcurtains, e-stop buttons). There may be several safety functionsinvolved with the robotic palletizer. The status of the safety devicesmay need to be communicated to operators. Status monitoring may allowoperators to ensure everything is running smoothly and ensure no safetyhazards exist. In this depicted example, a safety evaluation device 125may be configured to provide a safeguarding solution and manage all ofthe safety devices 105, 110, 115, 120 with one module by executing oneor more configuration profiles stored in the safety evaluation device125. The safety evaluation device 125 may use test signals (e.g., testpulses) to detect a short that may otherwise mask a fault in the wiringor internals of a safety device (e.g., safety device 105, 110, 115,120). A test signal may have a characteristic predetermined waveform. Byway of example and not limitation, the waveform may have a specifiedfrequency period, amplitude, transient time, and/or duty cycle. The testsignal may also be a test pattern, analog signal, digital signal, orcombination of signal types or waveforms. The safety evaluation device125 may sense a pulsed output through the contacts of the safety devicesby looking for the specific pulses signal at the assigned terminal onthe safety evaluation device 125. When dual channel safety devices areused, the test signals may be different for channel 1 and channel 2allowing the safety evaluation device to detect a short between thechannels.

Test signals may be shared among different safety devices (e.g., safetydevice 110, 115, 120) to advantageously save terminals for the safetyevaluation device 125. In this depicted example, the safeguardingsolution information is sent to a server 130. The server 130 may includea wiring schema design system 140 that may be used to generate a wiringschema with more than one safety device sharing at least one test signalthrough one or more external terminal blocks (ETBs) (e.g., a first ETB145, a second ETB 150) when the number of terminals required by safetydevices exceeds the number of available terminals of a safety evaluationdevice, which may advantageously expand the number of safety devices tobe connected and tested.

In this illustrated example, the safety evaluation device 125 includes10 input terminals. 4 input terminals of the 10 input terminals may beconvertible as non-safe output terminals and may be used to output testpulses to detect safety device 105, 110, 115, 120 which have 14terminals. The 4 non-safe output terminals may be shared. The remaining6 input terminals of the safety evaluation device 125 may be used asinput terminals and not convertible and not sharable. In someembodiments, the safety evaluation device 125 may include, for example,26 input terminals and 8 input terminals may be convertible.

A first terminal of the safety evaluation device 125 may output a firsttest pulse 145 a. The first external terminal block 145, having oneinput and three outputs, receives the first test pulse 145 a to outputthree output test pulses 145 b, 145 c, and 145 d. Each of the threeoutput test pulses 145 b, 145 c, and 145 d may be, respectively,received by a corresponding terminal of the safety device 110, 115, 120.A second terminal of the safety evaluation device 125 may output asecond test pulse 150 a. The second external terminal block 150, havingone input and three outputs, receives the second test pulse 150 a togenerate three output test pulses 150 b, 150 c, 150 d. Each of the threeoutput test pulses 150 b, 150 c, 150 d may be, respectively, received bya corresponding terminal of the safety device 110, 115, 120. By sharingthe first test pulse 145 a and the second test pulse 150 a, the numberof devices that can be connected to the safety evaluation device may beexpanded. An exemplary wiring schema design system with a test signalsharing feature is described in further detail with reference to FIG. 2and an exemplary wiring schema is described with reference to FIG. 3.

In some embodiments, the safety evaluation device 125 may have a numberof input terminals that can be used to monitor either safety ornon-safety devices. The safety or non-safety devices may incorporateeither solid-state or contact-based outputs, for example. Some of theinput terminals may be configured to either source 24V DC for monitoringcontacts or to signal the status of an input or an output, for example.The function of each input circuit may depend on the type of the deviceconnected. The function may be established during configuration. In someembodiments, the input terminals may be screw-type terminals. In variousembodiments, the input terminals may be spring-cage terminals, tensionspring terminals, for example, or, may be mechanically connected byclips, screws, solder joints, splicing, or the like suitable to make,for example, galvanic connection.

FIG. 2 depicts a block diagram of an exemplary architecture of a wiringschema design system. The wiring schema design system (e.g., the wiringschema design system 140) is configured to generate a wiring schema withmore than one safety device (e.g., safety devices 110, 115, 120) sharingat least one test signal through one or more external terminal blocks(e.g., ETB 145, 150) when the number (e.g., 14 terminals) of terminalsrequired by safety devices exceeds the number of available terminals(e.g., 10 terminals) of a safety evaluation device 125, for example. Insome embodiments, the safety evaluation device 125 may be a safetycontroller. In some embodiments, the safety evaluation device 125 may bea combination of two safety relays and a safety controller.

In this depicted example, the wiring schema design system 140 includes aprocessor 205 configured to perform predetermined operations. Forexample, the processor 205 may retrieve and/or write data from/tonon-volatile memory (NVM) 210. The NVM 210 may also include look-uptables (LUT) to store one or more parameters/operations associated withone or more predetermined criteria. The predetermined criteria mayinclude criteria corresponding to environmental parameters and monitoredequipment status parameters, for example. In some embodiments, the LUTmay include inventory information about devices (e.g., safety devices,safety evaluation devices, and/or external terminal blocks) to be usedin the wiring schema.

In some embodiments, the NVM 210 may store instructions, when executedby the processor 205, that may cause the processor 205 to performoperations to generate a wiring schema. In some embodiments, a user mayselect the numbers and types of different safety devices from the NVM210 to be tested by a safety evaluation device through the userinterface 215. The operations may include determining a correspondingnumber of terminals A_(i) for each safety device of N safety devices tobe connected to the safety evaluation device and detecting a number ofterminals B of the safety evaluation device available to connect to theN safety devices. A is the total terminals number of all the N safetydevices.

$A = {\sum\limits_{i = 1}^{N}\; \left( A_{i} \right)}$

When A is greater than B, the processor 205 may identify one or moresets of the N safety devices that are able to share a terminal (e.g., aconvertible input terminal) of the safety evaluation device based upontest signal compatibility among the N safety devices. For each of theidentified one or more sets of the N safety devices, the processor 205may assign a shared terminal of the safety evaluation device connectableto an external terminal block and generate a wiring schema. For each ofthe identified one or more sets, the external terminal block may provideelectrical connection between each of the safety devices in that set andthe shared terminal of the safety evaluation device associated with thatset. By performing different operations, test signals may be sharedamong different safety devices and terminals may be saved.

The user interface 215 may be used to display different wiring schemaoptions, and the user may select one wiring schema based on theinventory and/or the price of devices, for example, used in the wiringschema. The user may also enable or disable the test signal sharingfeature through the user interface 215.

The generated wiring schema options may be stored in a database 220. Thedatabase 220 may also contain different test signal specifications forevery possible safety device. The processor 205 may retrieve differenttest signals and/or wiring schemas from the database when needed. Inthis depicted example, the processor 205 also couples to a data transferdevice 225. The data transfer device 225 may be a flash drive that canbe used to store the selected wiring schema, for example.

FIG. 3 depicts an exemplary wiring schema generated by the wiring schemadesign system. In this depicted example, the user selects a lightcurtain 310, and three e-stops 320, 330, 340 to be tested by a10-terminal safety controller 350. The light curtain 310 having twoinputs may need to use two terminals of the safety controller 350, andthe three e-stops 320, 330, 340 may need totally six test pulseterminals of the safety controller 350. By sharing the test pulseterminals, only two input terminals of the safety controller 350 may beused and four input terminals of the safety controller 350 may be saved.Accordingly, the wiring schema design system 140 may generate a wiringschema that enables the 14 terminals of the four safety devices 310,320, 330, 340 to be connected to the 10-terminal safety controller 350.

In this depicted wiring diagram, a first input of the three e-stops 320,330, 340 share a first test signal IO1* through a first externalterminal block 360 and a second input of the three e-stops shares asecond test signal IO2* through a second external terminal block 370.Each of the first external terminal block 360 and the second externalterminal block 370 have one input connected to the first test signalIO1* or the second test signal IO2* and has three outputs connected tothe three e-stops 320, 330, 340. By sharing terminals among the threee-stops 320, 330, 340, the safety controller 350 may connect with thefour safety devices that totally have 14 terminals, for example. In someembodiments, the wiring schema may be a netlist, a node list or a wiringplan. A designer may connect with wiring among the safety controller,the safety devices, and the ETBs based on the generated wiring schema.

FIG. 4 depicts a flowchart to illustrate an exemplary method to generatethe wiring schema. A method 400 includes, at 405, detecting the types ofN safety devices to be tested by test signals. At 410, a processor(e.g., 205) determines the corresponding number of terminals for each ofthe N selected safety devices. A_(i) is the number of terminals for thei^(th) safety device. In some embodiments, the processor may instructone or more sensors to identify the corresponding number of terminalsA_(i) for N safety devices. At 415, the processor 205 detects the numberB of terminals of a safety evaluation device (e.g., a safety controller)that are available to connect to the N safety devices. At 420, theprocessor 205 determines whether the total number A of terminals acrossall of the N safety devices is less than or equal to B.

$A = {\sum\limits_{i = 1}^{N}\; \left( A_{i} \right)}$

If A is less than or equal to B, then, at 425, the processor 205generates a wiring diagram with each input of each of the N safetydevices having an independent test signal. If A is not less than orequal to B, then, at 430, the processor 205 determines whether a testsignal sharing feature (e.g., Automatic Terminal Optimization feature)of a wiring schema design system is enabled. If the test signal sharingfeature is not enabled, then, at 435, the processor 205 doesn't generatea wiring schema. In some embodiments, the processor 205 may instruct agraphical user interface, for example, to indicate the designer that thesafety evaluation device doesn't have enough available terminals.

If the test signal sharing feature is enabled, then, at 440, theprocessor 205 identifies which safety devices of the N safety devicescan share a test signal. A set of safety devices may share one or moretest signals. For example, when one light curtain and three e-stops tobe tested by a 10-terminal safety controller, the processor may identifythat the three e-stops can share two test signals. The three e-stops maybe one set, for example. In some embodiments, the processor may alsoidentify a first e-stop and the light curtain sharing a first testsignal and a second e-stop and a third e-stop sharing a second testsignal. The first e-stop and the light curtain may be one set, and thesecond e-stop and the third e-stop may be another set, for example.

At 445, the processor 205 selects one or more terminals of the safetyevaluation device to be shared by the identified one or more sets. Forexample, the processor 205 may select a second terminal of the safetycontroller to be connected to the set that includes three e-stops via a1-input 3-output external terminal block. At 450, the processor 205performs predetermined operations to generate a wiring schema with morethan one identified set sharing the selected terminals of the safetyevaluation device through one or more external terminal blocks.

FIG. 5 depicts a flowchart to illustrate another exemplary method togenerate the wiring schema. A method 500 may be used to dynamicallyupdate a wiring schema when a new safety device is added. At 505, aprocessor (e.g., the processor 205) introduces a variable i andinitializes i=1. At 510, the processor 205 detects the type of thei^(th) safety device to be tested by test signals. At 515, the processor205 determines the corresponding number of terminals A_(i) for thei^(th) safety device. In some embodiments, the processor 205 mayinstruct sensors to detect the number of terminals of the safety device.At 520, the processor 205 determines the available number of terminalsB_(avl) for the safety evaluation device to be connected with newlyadded safety devices. B_(avl) equals the total available number ofterminals B minus the number of terminals that are connected with safetydevices.

$B_{avl} = {B - {\sum\limits_{i = 1}^{N}\; \left( A_{i} \right)}}$

For example, a safety controller may have 10 available terminals (e.g.,B=10) that can be used to connect with safety devices. When an e-stop(e.g., A₁=4) is connected to the safety controller, the safetycontroller may have 6 available terminals (e.g., B_(avl)=B−A₁=6).

At 525, the processor 205 determines whether the corresponding number ofterminals A_(i) for the i^(th) safety device is less than or equal tothe available terminals number B_(avl) of the safety controller. IfA_(i) is less than or equal to B_(avl) (which means the safetycontroller has enough available terminals that each input of the i^(th)safety device can have an independent test signal), then, at 530, theprocessor 205 performs predetermined operations to generate a wiringschema with each input of the i^(th) safety devices having anindependent test signal. At 535, the processor 205 decides whether toadd more safety devices to the generated wiring schema. If more safetydevices are added, at 540, the processor 205 increments the variable iand loops back to 510. If no more safety devices are needed, the methodends.

If A_(i) is not less than or equal to B_(avl) (which means the safetycontroller doesn't have enough available terminals that each input ofthe i^(th) safety device can have an independent test signal), then, at545, the processor 205 checks whether a test signal sharing feature(e.g., Automatic Terminal Optimization feature) is enabled or not. Ifthe designer doesn't enable the test signal sharing feature, then at550, the processor 205 keeps the previous wiring schema after added the(i−1)^(th) safety device as no new safety devices can be added.

If the designer enables the test signal sharing feature, then at 555,the processor identifies which safety devices of among the i safetydevices can share a test signal with the (i+1)^(th) safety device.Safety devices that may share one or more test signals are called a set.For example, when one light curtain, a first e-stop, and a second e-stophave already been connected to a 10-terminal safety controller, theavailable terminal number B of the safety controller may be 0. When athird e-stop is added, and test signal feature is enabled, the processor205 may identify which safety devices of the light curtain, the firstand the second e-stops can share terminals with the third e-stop. Forexample, the processor may identify the three e-stops share testsignals. In some embodiments, the processor may identify the firste-stop and the light curtain sharing a first test signal and the seconde-stop and the third e-stop sharing a second test signal.

At 560, the processor 205 selects one or more terminals of the safetycontroller to be shared by the identified one or more sets. For example,the processor 205 may select a second terminal of the safety controllerto be connected to the set that includes three e-stops via a 1-input3-output external terminal block. At 565, the processor 205 performspredetermined operations to generate a wiring schema with more than oneidentified set sharing the selected terminals of the safety evaluationdevice through one or more external terminal blocks. After the wiringschema is generated, the processor 205 loops back the method to 535. Ifmore safety devices are added, the processor 205 increments the variablei and loops back to 510. If no more safety devices need to be added, themethod ends.

In some embodiments, the safety controller may be used to adjust testsignals to fit within overlapped specifications. For example, if input Amay be tested between 1V and 8V, input B may be tested between 4V and6V, the safety controller may adjust the test signal to 5V to besuitable for both input A and input B.

Although various embodiments have been described with reference to thefigures, other embodiments are possible. For example, some bypasscircuits implementations may be controlled in response to signals fromanalog or digital components, which may be discrete, integrated, or acombination of each. Some embodiments may include programmed and/orprogrammable devices (e.g., PLAs, PLDs, ASICs, microcontroller,microprocessor), and may include one or more data stores (e.g., cell,register, block, page) that provide single or multi-level digital datastorage capability, and which may be volatile and/or non-volatile. Somecontrol functions may be implemented in hardware, software, firmware, ora combination of any of them. Although in the depicted example, externalterminal blocks are used, in some other implementations, externalterminal blocks may be replaced by any suitable conductive node to whichmultiple test signal wire may be connected.

Computer program products may contain a set of instructions that, whenexecuted by a processor device, cause the processor to performprescribed functions. These functions may be performed in conjunctionwith controlled devices in operable communication with the processor.Computer program products, which may include software, may be stored ina data store tangibly embedded on a storage medium, such as anelectronic, magnetic, or rotating storage device, and may be fixed orremovable (e.g., hard disk, floppy disk, thumb drive, CD, DVD).

Some aspects of embodiments may be implemented as a computer system. Forexample, various implementations may include digital and/or analogcircuitry, computer hardware, firmware, software, or combinationsthereof. Apparatus elements can be implemented in a computer programproduct tangibly embodied in an information carrier, e.g., in amachine-readable storage device, for execution by a programmableprocessor; and methods can be performed by a programmable processorexecuting a program of instructions to perform functions of variousembodiments by operating on input data and generating an output. Someembodiments can be implemented advantageously in one or more computerprograms that are executable on a programmable system including at leastone programmable processor coupled to receive data and instructionsfrom, and to transmit data and instructions to, a data storage system,at least one input device, and/or at least one output device. A computerprogram is a set of instructions that can be used, directly orindirectly, in a computer to perform a certain activity or bring about acertain result. A computer program can be written in any form ofprogramming language, including compiled or interpreted languages, andit can be deployed in any form, including as a stand-alone program or asa module, component, subroutine, or other unit suitable for use in acomputing environment.

Suitable processors for the execution of a program of instructionsinclude, by way of example and not limitation, both general and specialpurpose microprocessors, which may include a single processor or one ofmultiple processors of any kind of computer. Generally, a processor willreceive instructions and data from a read-only memory or a random accessmemory or both. The essential elements of a computer are a processor forexecuting instructions and one or more memories for storing instructionsand data. Storage devices suitable for tangibly embodying computerprogram instructions and data include all forms of non-volatile memory,including, by way of example, semiconductor memory devices, such asEPROM, EEPROM, and flash memory devices; magnetic disks, such asinternal hard disks and removable disks; magneto-optical disks; and,CD-ROM and DVD-ROM disks. The processor and the memory can besupplemented by, or incorporated in, ASICs (application-specificintegrated circuits). In some embodiments, the processor and the membercan be supplemented by, or incorporated in hardware programmabledevices, such as FPGAs, for example.

In some implementations, each system may be programmed with the same orsimilar information and/or initialized with substantially identicalinformation stored in volatile and/or non-volatile memory. For example,one data interface may be configured to perform auto configuration, autodownload, and/or auto update functions when coupled to an appropriatehost device, such as a desktop computer or a server.

In some embodiments, the indicia of electrical connections may includeone or more symbols representing physical electrical connections orwiring connections between one or more external terminal blocks and oneor more terminals of a safety evaluation device, for example. Theindicia of electrical connections may include symbols representingphysical electrical connections or wiring connections between one ormore external terminal blocks and one or more terminals of one or moresafety devices. The indicia of electrical connections may also includesymbols representing physical electrical connections or wiringconnections between one or more terminals of one or more safety devicesand one or more terminals of a safety evaluation device, for example.

In some implementations, one or more user-interface features may becustom configured to perform specific functions. An exemplary embodimentmay be implemented in a computer system that includes a graphical userinterface and/or an Internet browser. To provide for interaction with auser, some implementations may be implemented on a computer having adisplay device, such as an LCD (liquid crystal display) monitor fordisplaying information to the user, a keyboard, and a pointing device,such as a mouse or a trackball by which the user can provide input tothe computer.

In various implementations, the system may communicate using suitablecommunication methods, equipment, and techniques. For example, thesystem may communicate with compatible devices (e.g., devices capable oftransferring data to and/or from the system) using point-to-pointcommunication in which a message is transported directly from the sourceto the first receiver over a dedicated physical link (e.g., fiber opticlink, point-to-point wiring, daisy-chain). The components of the systemmay exchange information by any form or medium of analog or digital datacommunication, including packet-based messages on a communicationnetwork. Examples of communication networks include, e.g., a LAN (localarea network), a WAN (wide area network), MAN (metropolitan areanetwork), wireless and/or optical networks, and the computers andnetworks forming the Internet. Other implementations may transportmessages by broadcasting to all or substantially all devices that arecoupled together by a communication network, for example, by usingOmni-directional radio frequency (RF) signals. Still otherimplementations may transport messages characterized by highdirectivity, such as RF signals transmitted using directional (i.e.,narrow beam) antennas or infrared signals that may optionally be usedwith focusing optics. Still other implementations are possible usingappropriate interfaces and protocols such as, by way of example and notintended to be limiting, USB 2.0, Fire wire, ATA/IDE, RS-232, RS-422,RS-485, 802.11a/b/g, Wi-Fi, Ethernet, IrDA, FDDI (fiber distributed datainterface), token-ring networks, or multiplexing techniques based onfrequency, time, or code division. Some implementations may optionallyincorporate features such as error checking and correction (ECC) fordata integrity, or security measures, such as encryption (e.g., WEP) andpassword protection.

In one exemplary aspect, a method to generate a wiring schema, themethod includes determining a corresponding number of terminals A_(i)for each safety device of N safety devices to be connected to a safetyevaluation device. The method also includes detecting a number ofterminals B of the safety evaluation device available to connect to theN safety devices. A=Σ A_(i), i is from 1 to N. If A is greater than B,the method also includes (a) identifying one or more sets of the Nsafety devices that are able to share a terminal of the safetyevaluation device based upon test signal compatibility among the Nsafety devices, (b) for each of the identified one or more sets of the Nsafety devices, determining a shared terminal of the safety evaluationdevice connectable to an external terminal block, and (c) generating awiring schema. For each of the identified one or more sets, the externalterminal block provides electrical connection between each of the safetydevices in that set and the shared terminal of the safety evaluationdevice associated with that set.

In some embodiments, if A is less than or equal to B, the method mayalso include generating a wiring schema with each input of each of the Nsafety devices having an independent terminal of the safety evaluationdevice. The wiring schema may include indicia of electrical connectionsbetween the one or more external terminal blocks and the N safetydevices. The wiring schema may include a wiring diagram or a netlist.

In some embodiments, the method may also include enabling a sharingfeature before operation (a). In some embodiments, the method may alsoinclude detecting types of safety devices to be connected with thesafety evaluation device. In some embodiments, the safety evaluationdevice may include a safety controller and two safety relays. The safetyevaluation device may include a spring clamp terminal block. The safetydevices may include a light curtain.

In another exemplary aspect, a system includes a processor operativelyconfigured to (1) receive a first information of a total number ofterminals A of N safety devices to be connected to a safety evaluationdevice, (2) receive a second information of a number of terminals B ofthe safety evaluation device available to connect to the N safetydevices, and (3) determine whether A is greater than B. The systemincludes a data storage device, coupled to the processor, configured tostore operations to be performed by the processor to connect the Nsafety devices with the safety evaluation device, if A is greater thanB, the operations includes: (a) identifying one or more sets of the Nsafety devices that are able to share an input of the safety evaluationdevice based upon test signal compatibility among the N safety devices,(b) for each of the identified one or more sets of the N safety devices,determining a shared terminal of the safety evaluation deviceconnectable to an external terminal block, and, (c) generating a wiringschema, wherein, for each of the identified one or more sets, theexternal terminal block provides electrical connection between each ofthe safety devices in that set and the shared terminal of the safetyevaluation device associated with that set.

In some embodiments, if A is less than or equal to B, the operations mayalso include generating a wiring schema with each input of each of the Nsafety devices having an independent terminal of the safety evaluationdevice. In some embodiments, the operations may also include enabling asharing feature before operation (a). In some embodiments, theoperations may also include detecting types of safety devices to beconnected with the safety evaluation device. In some embodiments, thesafety evaluation device may include a safety controller and two safetyrelays. In some embodiments, the safety evaluation device may include aspring clamp terminal block. In some embodiments, the wiring schema mayinclude a wiring diagram. In some embodiments, the wiring schema mayinclude a netlist. In some embodiments, wherein the wiring schema mayinclude indicia of electrical connections between the one or moreexternal terminal blocks and the N safety devices. In some embodiments,wherein the first information and the second information may be inputtedby a user via a graphical user interface.

A number of implementations have been described. Nevertheless, it willbe understood that various modification may be made. For example,advantageous results may be achieved if the steps of the disclosedtechniques were performed in a different sequence, or if components ofthe disclosed systems were combined in a different manner, or if thecomponents were supplemented with other components. Accordingly, otherimplementations are within the scope of the following claims.

What is claimed is:
 1. A method to generate a wiring schema, the method comprising: determining a corresponding number of terminals A_(i) for each safety device of N safety devices to be connected to a safety evaluation device; and, detecting a number of terminals B of the safety evaluation device available to connect to the N safety devices, wherein, A=Σ_(i=1) ^(N)(A_(i)), and if A is greater than B, then: (a) identifying one or more sets of the N safety devices that are able to share a terminal of the safety evaluation device based upon test signal compatibility among the N safety devices; (b) for each of the identified one or more sets of the N safety devices, determining a shared terminal of the safety evaluation device connectable to an external terminal block; and, (c) generating a wiring schema, wherein, for each of the identified one or more sets, the external terminal block provides electrical connection between each of the safety devices in that set and the shared terminal of the safety evaluation device associated with that set.
 2. The method of claim 1, further comprising: if A is less than or equal to B, then generating a wiring schema with each input of each of the N safety devices connecting to an independent terminal of the safety evaluation device.
 3. The method of claim 1, wherein the wiring schema comprises indicia of electrical connections between the one or more external terminal blocks and the N safety devices.
 4. The method of claim 1, wherein the wiring schema comprises a wiring diagram.
 5. The method of claim 1, wherein the wiring schema comprises a netlist.
 6. The method of claim 1, further comprising: enabling a sharing feature before operation (a).
 7. The method of claim 1, further comprising: detecting types of safety devices to be connected with the safety evaluation device.
 8. The method of claim 1, wherein the safety evaluation device comprises a safety controller and two safety relays.
 9. The method of claim 1, wherein the safety evaluation device comprises a spring clamp terminal block.
 10. The method of claim 1, wherein the number of terminals A_(i) and the number of terminals B are inputted by a user via a graphical user interface.
 11. A system comprising: a processor operatively configured to: receive a first data of a total number of terminals A of N safety devices to be connected to a safety evaluation device; receive a second data of a number of terminals B of the safety evaluation device available to connect to the N safety devices; determine whether A is greater than B; a data storage device coupled to the processor to store operations to be performed by the processor to connect the N safety devices with the safety evaluation device, wherein the operations comprise: if A is greater than B, then: (a) identifying one or more sets of the N safety devices that are able to share a terminal of the safety evaluation device based upon test signal compatibility among the N safety devices; (b) for each of the identified one or more sets of the N safety devices, determining a shared terminal of the safety evaluation device connectable to an external terminal block; and, (c) generating a wiring schema, wherein, for each of the identified one or more sets, the external terminal block provides electrical connection between each of the safety devices in that set and the shared terminal of the safety evaluation device associated with that set.
 12. The system of claim 11, wherein the operations further comprise: if A is less than or equal to B, then generating a wiring schema with each terminal of each of the N safety devices connecting to an independent input of the safety evaluation device.
 13. The system of claim 11, wherein the operations further comprise: enabling a sharing feature before operation (a).
 14. The system of claim 11, wherein the operations further comprise: detecting types of safety devices to be connected with the safety evaluation device.
 15. The system of claim 11, wherein the safety evaluation device comprises a safety controller and two safety relays.
 16. The system of claim 11, wherein the safety evaluation device comprises a spring clamp terminal block.
 17. The system of claim 11, wherein the wiring schema comprises a wiring diagram.
 18. The system of claim 11, wherein the wiring schema comprises a netlist.
 19. The system of claim 11, wherein the wiring schema comprises indicia of electrical connections between the one or more external terminal blocks and the N safety devices.
 20. The system of claim 11, wherein the first data and the second data are inputted by a user via a graphical user interface. 